//addcolor
$(addColor);
function addColor() {
	$('#userTbody tr').removeClass();
	for (var i = 0; i < $('#userTbody tr').length; i++) {
		if (i % 4 == 0) {
			$('#userTbody tr').eq(i).addClass('info');
		}
		if (i % 4 == 1) {
			$('#userTbody tr').eq(i).addClass('success');
		}
		if (i % 4 == 2) {
			$('#userTbody tr').eq(i).addClass('warning');
		}
		if (i % 4 == 3) {
			$('#userTbody tr').eq(i).addClass('active');
		}
	}
}//addcolor end

//choose all and choose more
$(chooseAll);
function chooseAll() {
	$("#btn").click(function () {
		$("input[name='a']").prop("checked", this.checked);
	});
	$("input[name='a']").click(function () {
		var $subs = $("input[name='a']");
		$("#btn").prop("checked", $subs.length == $subs.filter(":checked").length ? true : false);
	});
}// choose all and choose more end

// delete choose delete more

function deleteChoose() {
	if (confirm("确定删除吗？") == true) {
		var students = [];
		$("tbody input:checked").each(function () {
			var $row = $(this).closest('tr'); // 获取包含删除按钮的行  
			var studentNum = $row.find('td:eq(1)').text().trim(); // 从第二列（学号列）获取学号  
			var data = {
				id: studentNum
			};
			students.push(data);
		});
		var json = JSON.stringify(students);
		$.ajax({
			type: 'POST',                       //请求方式
			url: '/student-manage/deletestudents',  //请求的URL地址
			data: json,
			processData: false,
			contentType: false,
			success: location.reload(),
			error: function (xhr, status, error) { // 添加错误处理函数  
				alert("删除失败！")
				console.error("请求失败: " + error);
			}
		})
	}
	$("#btn").prop("checked", false);
}

$('#deleteAll').on('click', function () {
	deleteChoose();
	addColor();
});
// delete choose delete more end

// delete one
function deleter() {
	if (confirm("确定删除吗？") == true) {
		var $row = $(this).closest('tr'); // 获取包含删除按钮的行  
		var studentNum = $row.find('td:eq(1)').text().trim(); // 从第二列（学号列）获取学号  
		var data = {
			'studentNum': studentNum
		};
		$.ajax({
			type: 'POST',                       //请求方式
			url: '/student-manage/deletestudent',  //请求的URL地址
			data: data,
			datatype: "json",
			success: function (response) {
				location.reload();
				if (response.message == "Student ID Deleted")
					alert("删除成功！")
				if (response.message == "Student ID not exsit")
					alert("删除失败，学生ID不存在！")
			},
			error: function (xhr, status, error) { // 添加错误处理函数  
				alert("删除失败！")
				console.error("请求失败: " + error);
			}
		})
	}
}
$('.deleteOne').click(deleter);


//}// delete one end

//march
function march() {
	//验证

	$('form :input').blur(function () {
		var $parent = $(this).parent();
		$parent.find(".formtips").remove();
		//验证学号
		if ($(this).is('#inputNum')) {
			if (this.value == "" || this.value.length !== 5) {
				var errorMsg = '请输入5位的学号.';
				$parent.append('<span class="formtips onError">' + errorMsg + '</span>');
			}
			else {
				var okMsg = '输入正确.';
				$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
			}
		}
		//验证用户名
		if ($(this).is('#inputName')) {
			if (this.value == "") {
				var errorMsg = '请输入正确的用户名.';
				$parent.append('<span class="formtips onError">' + errorMsg + '</span>');
			} else {
				var okMsg = '输入正确.';
				$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
			}
		}
		//验证专业
		if ($(this).is('#inputClass')) {
			if (this.value == "") {
				var errorMsg = '输入不能为空.';
				$parent.append('<span class="formtips onError">' + errorMsg + '</span>');
			} else {
				var okMsg = '输入正确.';
				$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
			}
		}
	}).keyup(function () {
		$(this).triggerHandler("blur");
	}).focus(function () {
		$(this).triggerHandler("blur");
	}); //end blur
}


//change student
$('.changeInfrom').on("click", changeInfo);
function changeInfo(e) {
	var formdata = {
		studentNum: $('#inputNum').val(),
		studentName: $('#inputName').val(),
		studentMajor: $('#inputCourse').val()
	};
	console.log(formdata);
	$.ajax({
		type: 'POST',                       //请求方式
		url: '/student-manage/changestudent',  //请求的URL地址
		data: formdata,
		datatype: "json",
		success: function (response) {
			if (response.status == success) {
				location.reload();
				addColor();

			}
			else { //请求成功后的回调函数
				console.log(formdata);
			}
		},
		error: function (xhr, status, error) { // 添加错误处理函数  
			alert("修改失败！")
			console.error("请求失败: " + error);
		}
	})
	popup("changeInfrom");
	march();
}



//add student
$('#addUserIn').on("click", function () {
	popup(addUserIn);
	march();
});
//add student enter

//popup
function popup(id) {
	$('#zz').css('display', 'block');
	$('#addUser').css('display', 'block');
	if (id == addUserIn) {
		$('#addUserInform').removeClass("changeStudent");
		$('#addUserInform').addClass("addStudent");
	}
	if (id == "changeInfrom") {
		$('#addUserInform').removeClass("addStudent");
		$('#addUserInform').addClass("changeStudent");
	}
}
//popup end

//click enter


$(function () {

	$('.form-horizontal').on('submit', function (e) {
		e.preventDefault()                  // 2.阻止表单的默认行为
		var formdata = {
			studentNum: $('#inputNum').val(),
			studentName: $('#inputName').val(),
			studentMajor: $('#inputCourse').val()
		};
		$.ajax({
			type: 'POST',                       //请求方式
			url: '/student-manage/addstudent',  //请求的URL地址
			data: formdata,
			datatype: "json",
			success: function (response) {
				location.reload();
				if (response.message == "Student ID Involved")
					alert("添加成功！")
				if (response.message == "Student ID exsits")
					alert("添加失败，学生ID已存在！")
				if (response.message == "Invalid Student Name")
					alert("添加失败，学生姓名不能为空！")
			},
			error: function (xhr, status, error) { // 添加错误处理函数  
				alert("添加失败！")
				console.error("请求失败: " + error);
			}
		})
	})
})







//click enter end

function addEnter() {
	//添加至下一行
	$('table tr:last').after($('<tr><td class="checkbox m-0"><label><input type="checkbox" name="a"></label></td><td></td><td></td><td></td><td></td><td></td> <td><i class="fa fa-trash-o cur-p deleteOne"></i>/<i class="fa fa-edit changeInfrom"></i></td></tr>'));
	$('table tr:last td:eq(1)').text($('#inputNum').val());
	$('table tr:last td:eq(2)').text($('#inputName').val());
	$('table tr:last td:eq(3)').text($('#inputClass').val());
	$('table tr:last td:eq(6)').find(".deleteOne").click(deleter);
	$('table tr:last td:eq(6)').find(".changeInfrom").click(changeInfo);
	colseZz();
}

//change student info enter
function changeEnter(trobject) {
	trobject.find('td:eq(1)').text($('#inputNum').val());
	trobject.find('td:eq(2)').text($('#inputName').val());
	trobject.find('td:eq(3)').text($('#inputClass').val());
	colseZz();
}
//change student info enter end
//close and cancel
$('#cancelChange').click(colseZz);
$('#addClose').click(colseZz);
function colseZz() {
	$('#zz').css('display', 'none');
	$('#addUser').css('display', 'none');
}
//close and cancel end

$(document).ready(function fetchData() {
	$.ajax({
		url: '/student-manage/getstudent', // 假设的API URL  
		type: 'get',
		dataType: 'json',
		success: function (data) {
			// 清空表格数据（如果需要）  
			$('#userTbody').empty();

			// 遍历数据并插入到表格中  
			data.forEach(function (student) {
				var row = $('<tr></tr>');
				row.append($('<td class="checkbox m-0"><label><input type="checkbox" name="a"></label></td>'));
				row.append($('<td></td>').text(student.studentNum));
				row.append($('<td></td>').text(student.studentName));
				row.append($('<td></td>').text(student.studentMajor));
				var actionsCell = $('<td></td>');
				actionsCell.append($('<i class="fa fa-trash-o cur-p deleteOne"></i>').click(deleter));
				actionsCell.append($('<i class="fa fa-edit changeInfrom"></i>').click(function () {
					changeInfo.call(this); // 确保this上下文正确  
				}));
				row.append(actionsCell);
				$('#userTbody').append(row);
			});

			// 调用添加颜色的函数  
			addColor();
		},
		error: function () {
			alert('数据获取失败！');
		}
	});
});

// 修改 changeInfo 函数以支持从DOM元素触发  
function changeInfo() {
	window.changeobject = $(this).closest('tr'); // 使用closest获取最近的tr元素  
	popup("changeInfrom");
	march();
}

// 确保在文档加载时调用 fetchData 函数  
//$(document).ready(fetchData);

$(document).ready(function () {
	$('#search').on('click', function () {
		var searchText = $('#searchText').val().toLowerCase();
		console.log(searchText);
		console.log(1);// 将搜索文本转换为小写
		$('#userTbody tr').each(function () {  // 直接遍历 tbody 下的 tr 元素  
			var $tr = $(this);
			var isVisible = false; // 假设当前行不可见  

			// 遍历当前行的所有td，检查是否包含搜索文本  
			$tr.find('td').each(function () {
				if ($(this).text().toLowerCase().indexOf(searchText) !== -1) {
					isVisible = true; // 如果任何td匹配，设置isVisible为true  
					return false; // 跳出内部循环  
				}
			});

			// 根据isVisible的值显示或隐藏行  
			if (isVisible) {
				$tr.css('display', ''); // 显示行，不设置特定的 display 值，因为默认就是 table-row  
			} else {
				$tr.css('display', 'none');
			}
		});
	});
})